There are an increasing number of devices on the market currently that users communicate with via radio communication using smartphones or other computers. These devices are collectively referred to by some as the “Internet of Things.” These devices may be intended for use in the user's home or work. These devices can be, for example, smart devices such as, but not limited to, power outlets and plugs, lamps, thermometers, washing machines, televisions, and garage door openers. These devices can be targets for third parties that wish to take over control of the devices from the user or obtain personal, private of confidential information. For example, a third party who obtains access to a smart device that is connected to or has access to a network in someone's home or office may be able to further infiltrate the network and take control of other devices that are connected to or accessible via the network, such as embedded cameras or security systems, the door locks, or computers storing sensitive data. Moreover, if these devices have access to the internet, one gaining access to these smart devices may use them as an attack vector for infiltration of a user's or another's network over the internet. Therefore, such devices are often secured against access by third parties. Indeed, as communication with these devices may involve transfer of sensitive information, e.g., credentials, to access the local network, and other sensitive information that devices send or receive, radio communication between the controlling smartphone/computer and the device itself is often secure.
Typically, after purchasing the device and powering it (“taking out of the box”), the user uses the smartphone or other computer to connect to a device via radio communication. This is sometimes called “pairing.” Pairing usually consists of establishing mutual credentials for future communication, for example using a mutual key exchange or, in less-sensitive devices, pairing without a key. Alternatively, a device may be added to the local wireless network by configuring the device with a password and access protocol for the network. Alternatively, a pairing process (such as Wi-Fi Protected Setup) may be used to add devices to the network, for example, by causing a wireless router and the device to go into a “pairing mode” in order to configure the device with credentials to access the network.
However, the radio waves used by these devices to communicate can propagate in all directions and may be detected from far away with properly configured antennas, even if the transmitter is intentionally weak (in attempt to prevent communication with faraway radios). Radio range depends on the antenna gain, transmitter power and receiver sensitivity. While, commonly, devices and smartphones/computers may have “short radio range” due to low power transmitters and low gain antennas, an attacker can deploy equipment that can extend this range, in some instances, many orders of magnitude. For example, it has been demonstrated that BLE (Bluetooth Low Energy) devices, which are considered to have a short range of tens of feet, can be successfully accessed from ¼ mile away with appropriate radio equipment. The target device cannot distinguish a faraway transmitter using an appropriate high-gain antenna from a local transmitter. Due to the possibility that there are other “devices” unknown to the user that may impersonate or mimic the device with which the user is trying to pair by providing fake or misleading communications, or the possibility that there are radio receivers with high gain antennae receiving the user's communication(s), it is desirable to protect this communication in some way so that only the intended target device is able to communicate. The user's smartphone or computer thus authenticates the target device, so that only that intended device receives or can access the communicated information, while no other devices or computers can do so.
Previously-known authentication is done by some combination of:                A user puts the target device and the smartphone/computer into “pairing mode” at approximately the same time. However, this provides secure communications only if no other devices or computers in radio range are in pairing mode. If other devices are in radio range, those other devices can pair with the target device and/or the smartphone/computer (the user may not detect that it is pairing with the other device and not the target device);        A user reads a unique code permanently printed on or displayed by the device (“PIN”), and enters it into the smartphone/computer. However, this provides secure communication only if no one else has previously read that code, and/or does not have access to that code in the future. Otherwise, the device may be compromised; and/or        A manufacturer embeds credentials in all devices that can be verified by all smartphones using an application, e.g., a UUID. This prevents real-time hijacking, but does not protect against reverse-engineering of the smartphone software to extract these credentials. Manufacturers often manufacturers use the same secret password or key in all devices of one type. Thus, once the credentials are extracted, an entire group or class of product may be subject to compromise.        
All these approaches are inherently insecure. There previously existed no strong and positive affirmation that the smartphone/computer is indeed communicating with the intended device, and with no one else. Previously-known authentication links between devices are weak, as described above, and intruders can easily intercept or hijack the communication and obtain the transmitted information. The devices can be subjected to a “man-in-the-middle” attack where the attacker computer pairs with the device and then mimics the device to the smartphone, leaving the user unaware of the security breach.
Some previously-known procedures use physical actions to bound the time of radio interaction, by using backend servers. Even when trajectory similarity is used, though, it only signifies that a pairing can start—it does not contribute to the shared secret. An attacker can circumvent these approaches.